// const path = require('path');
// const http = require('http');
// const fs = require('fs');
// const url = require('url')
// const express = require('express');
// const app = express()
const bodyParser = require('body-parser');
// // const multer = require('multer');
// // const upload = multer({
// //     storage: multer.diskStorage({
// //         destination: function (req, file, cb){
// //             cb(null, './uploads/');
// //         },
// //         filename: function (req, file, cb){
// //             //file.originalname上传文件的原始文件名
// //             const changedName = (new Date().getTime())+'-'+file.originalname;
// //             cb(null, changedName);
// //         }
// //     })
// // });
//
// // const server =app.createServer(function (req,res) {
// //     res.write('<head><meta charset="utf-8"></head>')
// //     res.end('数据回来了')
// //     const urlStr = req.url;
// //     const urlObj = url.parse(urlStr,true)
// //     if(urlObj.pathname === '/'){
// //
// //     }
// // })
// app.use((req, res, next) => {
//     res.header('Access-Control-Allow-Origin', "*");
//     res.header('Access-Control-Allow-Headers', 'Content-Type,Content-Length,Authorization,Accept,X-Requested-With');
//     res.header('Access-Control-Allow-Methods','PUT,POST,GET,DELETE,OPTIONS');
//     res.header('X-Powered-By', '3.2.1')
//     if(req.method === 'OPTIONS') {
//         res.send(200);
//     } else {
//         next();
//     }
// });
// app.post('/uploading',(req,res)=>{
//     console.log(req);
//     res.send('文件上传呢')
// });
// // app.post('/upload/single',upload.single('singleFile'),(req,res)=>{
// //     console.log(req.file);
// //     res.json({
// //         code: '0000',
// //         type:'single',
// //         originalname: req.file.originalname
// //     })
// // });
// //
// // //多个文件上传
// // app.post('/upload/multer',upload.array('multerFile'),(req,res)=>{
// //     console.log(req.files);
// //     let fileList = [];
// //     req.files.map((elem)=>{
// //         fileList.push({
// //             originalname: elem.originalname
// //         })
// //     });
// //     res.json({
// //         code: '0000',
// //         type:'multer',
// //         fileList:fileList
// //     });
// // });
// app.listen(8080,()=>console.log('服务器启动'))


/*
* 第二方法
* */
//导入express框架
const express = require("express")
//导入fs框架
const fs = require("fs")
//导入path框架
const path = require("path")

//创建web服务
const app = express()
//监听端口

app.listen(5000,()=>{console.log("5000端口正在监听...");
})

//静态资源托管 最终要访问http://localhost:5000/upload/XXXXXXXXXXXXXX.webp（jpg）
app.use(express.static("./public"))

//1.引入multer中间件
const multer = require("multer")

//2.实例化multer(这个实例内部已经进行过封装)
//同时创建文件夹upload,需要上传的图片放到upload文件夹里
let objMulter = multer({ dest: './public//upload' }); //dest: 指定 保存位置（存到服务器)

//3.安装中间件
app.use(objMulter.any())  //运行上传什么类型的文件  any就代表任意类型

app.use((req, res, next) => {
    res.header('Access-Control-Allow-Origin', "*");
    res.header('Access-Control-Allow-Headers', 'Content-Type,Content-Length,Authorization,Accept,X-Requested-With');
    res.header('Access-Control-Allow-Methods','PUT,POST,GET,DELETE,OPTIONS');
    res.header('X-Powered-By', '3.2.1')
    if(req.method === 'OPTIONS') {
        res.send(200);
    } else {
        next();
    }
});
app.post("/api/reg",(req,res)=>{
    // console.log(req.files[0]. originalname);

    //4.需要进行文件名更改
    let oldFile = req.files[0].path;
    let newFile = req.files[0].path + path.parse(req.files[0].originalname).ext
    fs.renameSync(oldFile , newFile)



    //将地址返回给客户端
    res.send({
        err:0,
        url:"http://localhost:5000/upload/"+req.files[0].filename+path.parse(req.files[0].originalname).ext
    })

})